def foldr[A]: (A => A => A) => A => List[A] => A